package javaPractice50;
//【程序37】
//题目：有n个人围成一圈，顺序排号。从第一个人开始报数（从1到3报数），凡报到3的人退出圈子，问最后留下的是原来第几号的那位。
//f(n,m)=(f(n-1,m)+m-1)%n+1


import java.util.Scanner;

public class Program37 {
	public static void main(String[] args) {
		int num=3;
		Scanner getPer = new Scanner(System.in);
		System.out.println("请输入人数: ");
		int pnum = getPer.nextInt();
		int survivor = yueSeFu(pnum,num);
		System.out.println("最后留下来的是第"+survivor+"号位置的人");
	}

	private static int yueSeFu(int pnum,int num) {
		if(pnum==1){
			return 1;
		}
		else{
		return (yueSeFu(pnum-1,num)+num-1)%pnum+1;
		}
	}
}
